The present disclosure relates to file optimization, and the associated computing hardware. In some examples, the techniques of the present disclosure provide an architecture for multiple file compaction in a network attached storage system.
Network attached storage (NAS) provides application servers the ability to store and access files on file servers over a network. Like direct attached storage and unlike block based storage area networks (SANs), NAS is a file based system that offloads file management operations from application servers to file servers. The file servers themselves may include hard drives, redundant arrays of independent disks (RAIDs), and may be connected to tape drives and tape emulators. File servers are connected to application servers using protocols such as Network File System (NFS), Server Message Block (SMB), etc.
NAS provides a robust mechanism for storing and managing large amounts of data. However, maintaining vast amounts of data is expensive not just in terms of the physical hardware costs, but also in terms of system administration and infrastructure costs. Some mechanisms allow compression of data to save on resources. For example, some file formats such as the Portable Document Format (PDF) are already compressed. Some other utilities allow compression on an individual file level in a relatively inefficient manner. Still other mechanisms allow for more efficient tape backup of data. Instead of backing up all data repeatedly, mechanisms are provided to select changed blocks of data for backup.
However, existing mechanisms for maintaining and managing large amounts of data have a variety of drawbacks and limitations. Consequently, the techniques and mechanisms of the present invention provide improved mechanisms to efficiently optimize files.